## libraries

library(colorout)
library(here)
library(data.table)
source(here("src", "stroop-rsa-pc.R"))
#render_report("optim_analysis", src_dir = "group_analyses/optim_2021-11-15", params = list(subjlist = "ispc_retest"))
#render_report("optim_analysis", src_dir = "group_analyses/optim_2021-11-15", params = list(subjlist = "all_retest"))

library(knitr)
library(dplyr)
library(tidyr)
library(ggplot2)
library(ggridges)
library(abind)
library(httpgd)

## settings
hgd()
## httpgd server running at:
##   http://127.0.0.1:58905/live?token=6SflLGrJ
opts_chunk$set(echo = TRUE)
theme_set(theme_bw(base_size = 10))

## constants
#subjlist <- "ispc_retest"
subjlist <- params$subjlist
if (subjlist == "ispc_retest") {
    session <- "reactive"
} else if (subjlist == "all_retest") {
    session <- "proactive"
}
prewhs <- c("none", "obsall")
glms <- c("lsall_1rpm", "lssep_1rpm")
roiset <- "Schaefer2018Dev"
measures <- c("cveuc", "crcor")
subjects <- fread(here("out", paste0("subjlist_", subjlist, ".txt")))[[1]]
atlas <- read_atlas(roiset)

## read subject RDMs:

rdm <- enlist(combo_paste(measures, prewhs, sep = "__"))
for (prewh in prewhs) {
    for (measure in measures) {
        rdm[[paste0(measure, "__", prewh)]] <- read_rdms(
            .measure = measure, .prewh = prewh,
            .glmname = "lsall_1rpm", .roiset = roiset, .waves = waves,
            .session = session, .subjects = subjects,
            .ttypes1 = intersect(ttypes_by_run[[session]]$run1, ttypes[["bias"]]),
            .ttypes2 = intersect(ttypes_by_run[[session]]$run2, ttypes[["bias"]]),
            .rois = names(atlas$rois)
            )
    }
}


## read regression weights:

dat <- enlist(combo_paste(measures, glms, sep = "__"))
for (measure in measures) {
    for (glmname in glms) {
        for (prewh in prewhs) {
            if (prewh == "obsall" && glmname == "lssep_1rpm") next
            file_name <- 
                construct_filename_weights(
                    measure = measure, subjlist = subjlist, glmname = glmname, roiset = roiset, prewh = prewh
                    )
            dat[[paste0(measure, "__", glmname, "__", prewh)]] <- fread(file_name)
        }
    }
}
dat <- rbindlist(dat, idcol = "id")
dat <- separate(dat, id, c("measure", "glmname", "prewh"), sep = "__")


## calculate

## for group stats:
dat_sum <- dat %>% 
    group_by(prewh, measure, glmname, term, roi, subject) %>%    ## average over waves
    summarize(b = mean(b), .groups = "drop_last") %>%
    summarize(
        t_stat = t.test(b)$statistic, 
        p = t.test(b, alternative = "greater")$p.value, 
        .groups = "keep"
        )

## for test-retest correlations:
dat_r <- dat %>% 
    pivot_wider(names_from = "wave", values_from = "b") %>%  ## spread over waves
    group_by(prewh, measure, glmname, term, roi) %>%    ## correlate over subjects
    summarize(r = cor(wave1, wave2))
## `summarise()` has grouped output by 'prewh', 'measure', 'glmname', 'term'. You can override using the `.groups` argument.

all_retest

cross-run correlation

for (mod in models$crcor) {
    rdm_models <- 
        read_model_rdm(
            model = mod, measure_type = "similarity", session = session, ttype_subset = "bias"
        )
    p <- rdm_models %>% melt_mat %>% plot_melted_mat + labs(title = mod) + theme(axis.text.x = element_text(angle = 90, hjust = 0))
    print(p)
}

RDMs

rdm_crcor_none <- rdm$crcor__none[, , c("Vis", "SomMot", "core32", "LH_Cont_PFCl_6", "LH_Cont_Par_6"), , ]

apply(atanh(rdm_crcor_none), c("dim1", "dim2", "roi", "wave"), mean) %>%
    tanh %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "group mean matrices: non-prewhitened")

rdm_crcor_none[, , , 1, ] %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "single-subject matrices: non-prewhitened")

rdm_crcor_obsall <- rdm$crcor__obsall[, , c("Vis", "SomMot", "core32", "LH_Cont_PFCl_6", "LH_Cont_Par_6"), , ]
apply(atanh(rdm_crcor_obsall), c("dim1", "dim2", "roi", "wave"), mean) %>%
    tanh %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "group mean matrices: prewhitened")

rdm_crcor_obsall[, , , 1, ] %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "single-subject matrices: prewhitened")

group stats

non-prewhitened

dat_sum %>%
    filter(measure == "crcor", prewh == "none") %>%
    ggplot(aes(roi, t_stat, fill = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level t stats")

dat %>%
    filter(measure == "crcor", prewh == "none") %>%
    ggplot(aes(roi, b, color = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun.data = "mean_cl_boot", position = position_dodge(width = 0.5), geom = "errorbar") +
    facet_grid(cols = vars(term), scales = "free") +
    coord_flip() +
    scale_color_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level b coefficients")

dat_sum %>%
    filter(measure == "crcor", prewh == "none") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "glmname", values_from = "t_stat") %>%
    ggplot(aes(lsall_1rpm, lssep_1rpm)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "group-level t stats")

prewhitened: lsall_1rpm

dat_sum %>%
    filter(measure == "crcor", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, t_stat, fill = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level t stats")

dat %>%
    filter(measure == "crcor", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, b, color = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun.data = "mean_cl_boot", position = position_dodge(width = 0.5), geom = "errorbar") +
    facet_grid(cols = vars(term), scales = "free") +
    coord_flip() +
    scale_color_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level b coefficients")

dat_sum %>%
    filter(measure == "crcor", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "prewh", values_from = "t_stat") %>%
    ggplot(aes(none, obsall)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "group-level t stats")

test-retest correlations

non-prewhitened

dat_r %>%
    filter(measure == "crcor", prewh == "none") %>%
    ggplot(aes(roi, r, fill = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "test-retest correlations")

dat_r %>%
    filter(measure == "crcor", prewh == "none") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "glmname", values_from = "r") %>%
    ggplot(aes(lsall_1rpm, lssep_1rpm)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "test-retest correlations")

prewhitened: lsall_1rpm

dat_r %>%
    filter(measure == "crcor", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, r, fill = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "test-retest correlations")

dat_r %>%
    filter(measure == "crcor", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "prewh", values_from = "r") %>%
    ggplot(aes(none, obsall)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "test-retest correlations")

table

non-prewhitened

dat_sum %>%
    full_join(dat_r) %>%
    filter(measure == "crcor", term %in% c("conjunction", "distractor", "incongruency", "target"), prewh == "none") %>%
    pivot_wider(names_from = c("glmname"), values_from = c("t_stat", "p", "r")) %>%
    filter(p_lsall_1rpm < 0.01 | p_lssep_1rpm < 0.01) %>%
    arrange(-t_stat_lsall_1rpm) %>%
    kable
## Joining, by = c("prewh", "measure", "glmname", "term", "roi")
prewh measure term roi t_stat_lsall_1rpm t_stat_lssep_1rpm p_lsall_1rpm p_lssep_1rpm r_lsall_1rpm r_lssep_1rpm
none crcor target SomMot 6.036965 5.908287 0.0000007 0.0000010 -0.0692325 -0.1095208
none crcor distractor Vis 5.854255 4.040639 0.0000012 0.0001791 0.0955291 0.1808343
none crcor incongruency core32 5.056794 3.232358 0.0000108 0.0015274 0.2739029 0.1343527
none crcor incongruency LH_Cont_Par_6 5.048706 4.768844 0.0000111 0.0000241 0.3087965 0.0790452
none crcor incongruency LH_Cont_Par_4 4.180174 4.081220 0.0001224 0.0001604 0.1563675 0.1924391
none crcor incongruency Vis 3.898284 2.683145 0.0002635 0.0059601 0.4612235 0.1363985
none crcor incongruency SomMot 3.561764 3.122884 0.0006477 0.0020188 0.1089093 0.1595941
none crcor incongruency LH_Cont_PFCl_6 3.538587 1.431759 0.0006886 0.0814516 -0.0175133 0.0677992
none crcor incongruency RH_Cont_PFCl_12 3.422061 2.169139 0.0009349 0.0192055 -0.1772072 -0.0840016
none crcor incongruency RH_Cont_Par_6 3.384942 1.658137 0.0010299 0.0540347 0.0894960 -0.1248471
none crcor incongruency RH_Cont_PFCl_9 3.331295 2.471558 0.0011837 0.0097834 0.1403675 0.1232427
none crcor incongruency RH_Cont_PFCl_14 3.300100 1.345269 0.0012831 0.0944821 0.0876670 0.0518206
none crcor target RH_Cont_PFCl_14 3.245631 1.956604 0.0014762 0.0300424 -0.1872049 0.4136216
none crcor distractor SomMot 3.216687 2.078356 0.0015899 0.0233162 -0.1519217 -0.0944269
none crcor incongruency RH_Cont_PFCmp_2 3.155265 1.965575 0.0018596 0.0294944 -0.1478682 0.1127163
none crcor incongruency LH_Cont_Par_1 2.719606 1.952963 0.0054625 0.0302673 0.1814894 0.1319579
none crcor incongruency LH_Cont_PFCmp_1 2.640062 2.707613 0.0066026 0.0056217 0.3228169 0.3442514
none crcor incongruency RH_Cont_PFCv_1 2.602599 2.442684 0.0072130 0.0104528 0.0355817 0.1240820
none crcor target core32 2.506627 1.549322 0.0090234 0.0660749 0.0363741 -0.1075845
none crcor target RH_SalVentAttn_TempOccPar_7 1.706360 2.541060 0.0493149 0.0083304 -0.1185983 -0.4011169
none crcor incongruency RH_Cont_Par_4 1.547407 2.693777 0.0663049 0.0058108 -0.0021916 0.0951452
none crcor target LH_Cont_Par_5 1.408167 3.182853 0.0848562 0.0017334 -0.0939326 -0.1547981

prewhitened

dat_sum %>%
    full_join(dat_r) %>%
    filter(measure == "crcor", term %in% c("conjunction", "distractor", "incongruency", "target"), prewh == "obsall") %>%
    filter(p < 0.01) %>%
    arrange(-t_stat) %>%
    kable
## Joining, by = c("prewh", "measure", "glmname", "term", "roi")
prewh measure glmname term roi t_stat p r
obsall crcor lsall_1rpm target SomMot 13.435313 0.0000000 -0.1307399
obsall crcor lsall_1rpm distractor Vis 11.086140 0.0000000 0.5171092
obsall crcor lsall_1rpm target Vis 9.514942 0.0000000 -0.2006751
obsall crcor lsall_1rpm incongruency LH_Cont_Par_4 4.238609 0.0001043 0.3495953
obsall crcor lsall_1rpm incongruency LH_Cont_Par_6 4.104229 0.0001506 -0.0819877
obsall crcor lsall_1rpm incongruency core32 3.942262 0.0002339 0.2108016
obsall crcor lsall_1rpm incongruency Vis 3.638746 0.0005282 0.1502920
obsall crcor lsall_1rpm incongruency SomMot 3.511743 0.0007390 0.2039571
obsall crcor lsall_1rpm target core32 3.381300 0.0010397 -0.1315888
obsall crcor lsall_1rpm incongruency LH_Cont_PFCl_7 3.345319 0.0011415 -0.0778200
obsall crcor lsall_1rpm target LH_Cont_Par_4 3.285087 0.0013338 -0.3033117
obsall crcor lsall_1rpm incongruency LH_Default_Par_7 3.103258 0.0021216 -0.1740947
obsall crcor lsall_1rpm incongruency RH_Cont_PFCv_1 3.037992 0.0025003 -0.0059184
obsall crcor lsall_1rpm incongruency RH_Cont_PFCl_9 3.003695 0.0027244 0.2892933
obsall crcor lsall_1rpm incongruency LH_Default_PFC_17 2.979630 0.0028928 -0.0040970
obsall crcor lsall_1rpm incongruency RH_Cont_Par_3 2.830532 0.0041771 -0.3734273
obsall crcor lsall_1rpm incongruency RH_Cont_PFCmp_2 2.729695 0.0053318 0.0499868
obsall crcor lsall_1rpm target LH_Cont_Par_6 2.648696 0.0064689 0.1505068
obsall crcor lsall_1rpm incongruency LH_Default_PFC_21 2.623932 0.0068593 0.2462755
obsall crcor lsall_1rpm incongruency LH_Cont_PFCl_3 2.558962 0.0079899 0.3134959
obsall crcor lsall_1rpm incongruency LH_Cont_PFCmp_1 2.530552 0.0085365 0.1235462

All significant ROIs at \(\alpha < 0.01\) uncorrected. Sorted by t_stat_lsall_1rpm. r_* columns show test–retest correlations.

cross-validated euclidean

for (mod in models$cveuc) {
    rdm_models <- 
        read_model_rdm(
            model = mod, measure_type = "cvdistance", session = session, ttype_subset = "bias"
        )
    p <- rdm_models %>% melt_mat %>% plot_melted_mat + labs(title = mod) + theme(axis.text.x = element_text(angle = 90, hjust = 0))
    print(p)
}

RDMs

rdm_cveuc_none <- rdm$cveuc__none[, , c("Vis", "SomMot", "core32", "LH_Cont_PFCl_6", "LH_Cont_Par_6"), , ]
sds <- apply(rdm_cveuc_none, c("roi", "subject", "wave"), function(x) sd(vec(x)))
rdm_cveuc_none <- sweep(rdm_cveuc_none, 3:5, sds, "/")
apply(rdm_cveuc_none, c("dim1", "dim2", "roi", "wave"), mean) %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "group mean matrices: non-prewhitened")

rdm_cveuc_none[, , , 1, ] %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "single-subject matrices: non-prewhitened")

rdm_cveuc_obsall <- rdm$cveuc__obsall[, , c("Vis", "SomMot", "core32", "LH_Cont_PFCl_6", "LH_Cont_Par_6"), , ]
sds <- apply(rdm_cveuc_obsall, c("roi", "subject", "wave"), function(x) sd(vec(x)))
rdm_cveuc_obsall <- sweep(rdm_cveuc_obsall, 3:5, sds, "/")
apply(rdm_cveuc_obsall, c("dim1", "dim2", "roi", "wave"), mean) %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "group mean matrices: prewhitened")

rdm_cveuc_obsall[, , , 1, ] %>%
    melt_mat %>%
    plot_melted_mat(.row = "dim1", .col = "dim2", add_greyscale_gradient = FALSE) +
    scale_fill_viridis_c() +
    facet_grid(vars(wave), vars(roi), scales = "free") +
    theme(axis.text.x = element_text(angle = 90, hjust = 0), legend.position = "top") +
    labs(title = "single-subject matrices: prewhitened")

group stats

non-prewhitened

dat_sum %>%
    filter(measure == "cveuc", prewh == "none") %>%
    ggplot(aes(roi, t_stat, fill = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level t stats")

dat %>%
    filter(measure == "cveuc", prewh == "none") %>%
    ggplot(aes(roi, b, color = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun.data = "mean_cl_boot", position = position_dodge(width = 0.5), geom = "errorbar") +
    facet_grid(cols = vars(term), scales = "free") +
    coord_flip() +
    scale_color_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level b coefficients")

dat_sum %>%
    filter(measure == "cveuc", prewh == "none") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "glmname", values_from = "t_stat") %>%
    ggplot(aes(lsall_1rpm, lssep_1rpm)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "group-level t stats")

prewhitened: lsall_1rpm

dat_sum %>%
    filter(measure == "cveuc", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, t_stat, fill = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level t stats")

dat %>%
    filter(measure == "cveuc", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, b, color = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun.data = "mean_cl_boot", position = position_dodge(width = 0.5), geom = "errorbar") +
    facet_grid(cols = vars(term), scales = "free") +
    coord_flip() +
    scale_color_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "group-level b coefficients")

dat_sum %>%
    filter(measure == "cveuc", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "prewh", values_from = "t_stat") %>%
    ggplot(aes(none, obsall)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "group-level t stats")

test-retest correlations

non-prewhitened

dat_r %>%
    filter(measure == "cveuc", prewh == "none") %>%
    ggplot(aes(roi, r, fill = glmname)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "test-retest correlations")

dat_r %>%
    filter(measure == "cveuc", prewh == "none") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "glmname", values_from = "r") %>%
    ggplot(aes(lsall_1rpm, lssep_1rpm)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "test-retest correlations")

prewhitened: lsall_1rpm

dat_r %>%
    filter(measure == "cveuc", glmname == "lsall_1rpm") %>%
    ggplot(aes(roi, r, fill = prewh)) +
    geom_hline(yintercept = 0) +
    stat_summary(fun = "mean", position = position_dodge(width = 0.5), geom = "col") +
    facet_grid(cols = vars(term)) +
    coord_flip() +
    scale_fill_brewer(type = "qual", palette = 2) +
    theme(legend.position = "top") +
    labs(title = "test-retest correlations")

dat_r %>%
    filter(measure == "cveuc", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("term", "roi"), names_from = "prewh", values_from = "r") %>%
    ggplot(aes(none, obsall)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(cols = vars(term)) +
    labs(title = "test-retest correlations")

table

dat_sum %>%
    full_join(dat_r) %>%
    filter(measure == "cveuc", prewh == "none", term %in% c("target", "distractor", "incongruency")) %>%
    pivot_wider(names_from = c("glmname"), values_from = c("t_stat", "p", "r")) %>%
    filter(p_lsall_1rpm < 0.01 | p_lssep_1rpm < 0.01) %>%
    arrange(-t_stat_lsall_1rpm) %>%
    kable
## Joining, by = c("prewh", "measure", "glmname", "term", "roi")
prewh measure term roi t_stat_lsall_1rpm t_stat_lssep_1rpm p_lsall_1rpm p_lssep_1rpm r_lsall_1rpm r_lssep_1rpm
none cveuc distractor Vis 5.096293 3.356673 0.0000097 0.0011084 -0.0716702 0.2357591
none cveuc incongruency LH_Cont_PFCl_6 3.477796 1.083349 0.0008080 0.1437895 -0.4927242 -0.0715695
none cveuc target RH_Cont_Par_3 2.836896 1.361400 0.0041127 0.0919360 0.0193541 0.3095593
none cveuc target RH_Cont_PFCl_14 2.557936 2.632462 0.0080090 0.0067224 0.1051463 0.1044802
none cveuc distractor RH_Cont_Par_5 1.846091 2.470704 0.0375548 0.0098026 -0.2331548 0.0484790
none cveuc target RH_SalVentAttn_TempOccPar_7 1.748702 2.664738 0.0454610 0.0062271 0.1283927 -0.0385871
none cveuc target RH_Default_Par_4 1.421245 2.638739 0.0829552 0.0066233 0.0760200 -0.0582209
dat_sum %>%
    full_join(dat_r) %>%
    filter(measure == "cveuc", prewh == "obsall", term %in% c("target", "distractor", "incongruency")) %>%
    filter(p < 0.01) %>%
    arrange(-t_stat) %>%
    kable
## Joining, by = c("prewh", "measure", "glmname", "term", "roi")
prewh measure glmname term roi t_stat p r
obsall cveuc lsall_1rpm distractor Vis 12.466757 0.0000000 0.5122660
obsall cveuc lsall_1rpm target SomMot 11.741408 0.0000000 0.0058902
obsall cveuc lsall_1rpm target Vis 9.218406 0.0000000 -0.2030414
obsall cveuc lsall_1rpm incongruency SomMot 3.961718 0.0002219 -0.1000386
obsall cveuc lsall_1rpm target core32 3.080917 0.0022446 0.0060724
obsall cveuc lsall_1rpm incongruency LH_Cont_PFCl_6 3.014850 0.0026495 0.2587848
obsall cveuc lsall_1rpm incongruency core32 2.904066 0.0034881 -0.1025529
obsall cveuc lsall_1rpm target LH_Cont_PFCl_6 2.625262 0.0068378 0.1245884
obsall cveuc lsall_1rpm incongruency Vis 2.573099 0.0077301 0.1591310

All significant ROIs at \(\alpha < 0.01\) uncorrected. Sorted by t_stat_lsall_1rpm. r_* columns show test–retest correlations.

comparison of measures: cross-validated euclidean and cross-run correlation, lsall_1rpm

non-prewhitened euclidean

dat_sum %>%
    filter(term %in% c("distractor", "incongruency", "target"), prewh == "none", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("glmname", "term", "roi"), names_from = "measure", values_from = "t_stat") %>%
    ggplot(aes(crcor, cveuc)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(rows = vars(glmname), cols = vars(term)) +
    labs(title = "t statistics", x = "cross-run correlation", y = "cross-validated euclidean")

dat_r %>%
    filter(term %in% c("distractor", "incongruency", "target"), prewh == "none", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("glmname", "term", "roi"), names_from = "measure", values_from = "r") %>%
    ggplot(aes(crcor, cveuc)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(rows = vars(glmname), cols = vars(term)) +
    labs(title = "test--retest correlations", x = "cross-run correlation", y = "cross-validated euclidean")

prewhitened euclidean

dat_sum %>%
    filter(term %in% c("distractor", "incongruency", "target"), prewh == "obsall", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("glmname", "term", "roi"), names_from = "measure", values_from = "t_stat") %>%
    ggplot(aes(crcor, cveuc)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(rows = vars(glmname), cols = vars(term)) +
    labs(title = "t statistics", x = "cross-run correlation", y = "cross-validated euclidean")

dat_r %>%
    filter(term %in% c("distractor", "incongruency", "target"), prewh == "obsall", glmname == "lsall_1rpm") %>%
    pivot_wider(id_cols = c("glmname", "term", "roi"), names_from = "measure", values_from = "r") %>%
    ggplot(aes(crcor, cveuc)) +
    geom_hline(yintercept = 0) +
    geom_vline(xintercept = 0) +
    geom_abline() +
    geom_point(size = 0.5) +
    facet_grid(rows = vars(glmname), cols = vars(term)) +
    labs(title = "test--retest correlations", x = "cross-run correlation", y = "cross-validated euclidean")